import axios from "axios";
//引入封装好的路由文件
import router from "../router";
import store from "../store";

//重新创建一个实例
const http = axios.create({
  baseURL: "/api",
});

//请求拦截
http.interceptors.request.use((req) => {
  console.log(req,'请求');
  // 因为登录不需要验证token所以可以剔除登录判断
  if(req.url!='/userlogin'){
     //这里设置请求头
  req.headers.authorization = store.getters.getUserInfo.token;
  }
  return req;
});
//响应拦截
http.interceptors.response.use((res) => {
  // 全局拦截错误！！！
  //   注意点： 正常工作还是要以code为区分。因为正常的后端会以不同的code值代表不同的全局错误
  if (res.data.msg == "请设置请求头,并携带验证字符串") {
    alert(res.data.msg);
    //跳转到登录页
    router.push("/login");
  } else if (res.data.msg == "登录已过期或访问权限受限") {
    alert(res.data.msg);
    //跳转到登录页
    router.push("/login");
  } else {
    return res.data;
  }
});

export default http;
